﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BGCOP.CAVTOP.BUSINESSLAYER;
using BGCOP.CAVTOP.COMMON;

namespace BGCOP.CAVTOP.WINFORMS
{
    public partial class frmTipoVehiculo : Form
    {
        public Utilitys ut = new Utilitys();
        private LogCls logF = new LogCls();

        public frmTipoVehiculo()
        {
            InitializeComponent();
        }

        private void frmTipoVehiculo_Load(object sender, EventArgs e)
        {
            llenaLista();
        }
        public void llenaLista()
        {
            TiposVehiculo tv = new TiposVehiculo();
            listBox1.DataSource = tv.ListarTodos();
            listBox1.DisplayMember = "NombreTipoVehiculo";
            listBox1.ValueMember = "idTipoVehiculo";
        }
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex == -1)
            {
                return;
            }
            TipoVehiculo tmp = (TipoVehiculo)listBox1.SelectedItem;
            txtTipoVehiculo.Text = tmp.NombreTipoVehiculo; 
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            txtTipoVehiculo.Focus();
            listBox1.SelectedIndex = -1;
            txtTipoVehiculo.Text = "";
        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex == -1)
            {
                //es un nuevo registro
                TiposVehiculo mm = new TiposVehiculo();
                //tmp.usuarioUltimaGestion = (int?)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual;
                mm.AgregarTipoVehiculo(txtTipoVehiculo.Text, DateTime.Now,
                                       (int) BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual);
                MessageBox.Show("El registro se agrego con exito!", Properties.Settings.Default.Titulo
                    , MessageBoxButtons.OK);
                llenaLista();
            }
            else
            {
                //es un registro existente
                TipoVehiculo tmp = new TipoVehiculo();
                tmp.NombreTipoVehiculo  = txtTipoVehiculo.Text;
                tmp.fechaUltimaGestion = DateTime.Now;
                tmp.usuarioUltimaGestion = (int?)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual;
                TiposVehiculo mm = new TiposVehiculo();
                mm.ModificarTipoVehiculo(Convert.ToInt32( listBox1.SelectedValue), tmp);
                MessageBox.Show("El registro se modificó con exito!", Properties.Settings.Default.Titulo
                   , MessageBoxButtons.OK);
                llenaLista();

            }
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            TiposVehiculo tmp = new TiposVehiculo();
            if (MessageBox.Show("Desea eliminar el registro seleccionado?", "Gestion CAV12",
                MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
            {
                tmp.EliminarTipoVehiculo(Convert.ToInt32(listBox1.SelectedValue));
            }
            MessageBox.Show("El registro se eliminó con exito!", Properties.Settings.Default.Titulo
                   , MessageBoxButtons.OK);
            llenaLista();
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
